package it.abc.sicsic.model.clienti;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "\"clienti\"")
public class Clienti implements Serializable {
    
    final static String q = "select * from clienti";
    
    public final static String FIND_CLIENTI = 
        "SELECT * FROM CLIENTI " +
        "WHERE (NOME LIKE ? OR ? IS NULL) " +
        "AND (COGNOME LIKE ? OR ? IS NULL) " +
        "AND (RAGIONESOCIALE LIKE ? OR ? IS NULL) " +
        "AND (CITTA LIKE ? OR ? IS NULL) " +
        "AND (DOCUMENTO LIKE ? OR ? IS NULL) " +
        "AND (TELEFONO LIKE ? OR ? IS NULL)";
    
    @Column(name="citta", nullable = true)
    private String citta;
    @Column(name="cognome", nullable = true)
    private String cognome;
    @Column(name="documento", nullable = true)
    private String documento;
    @Column(name="email", nullable = true)
    private String email;
    @Column(name="fax", nullable = true)
    private String fax;
    @Id
    @Column(name="id", nullable = true)
    private int id;
    @Column(name="indirizzo", nullable = true)
    private String indirizzo;
    @Column(name="natoA", nullable = true)
    private String natoA;
    @Column(name="natoIl", nullable = true)
    private String natoIl;
    @Column(name="nome", nullable = true)
    private String nome;
    @Column(name="partitaIva", nullable = true)
    private String partitaIva;
    @Column(name="provincia", nullable = true)
    private String provincia;
    @Column(name="sedeLegale", nullable = true)
    private String sedeLegale;
    @Column(name="telefono", nullable = true)
    private String telefono;
    @Column(name="ragioneSociale", nullable = true)
    private String ragioneSociale;

    public Clienti() {
    }

    public Clienti(String citta, String cognome, String documento, String email, String fax, int id, String indirizzo,
                   String natoA, String natoIl, String nome, String partitaIva, String provincia, String sedeLegale,
                   String telefono, String ragioneSociale) {
        this.citta = citta;
        this.cognome = cognome;
        this.documento = documento;
        this.email = email;
        this.fax = fax;
        this.id = id;
        this.indirizzo = indirizzo;
        this.natoA = natoA;
        this.natoIl = natoIl;
        this.nome = nome;
        this.partitaIva = partitaIva;
        this.provincia = provincia;
        this.sedeLegale = sedeLegale;
        this.telefono = telefono;
        this.ragioneSociale = ragioneSociale;
    }


    public String getCitta() {
        return citta;
    }

    public void setCitta(String citta) {
        this.citta = citta;
    }

    public String getCognome() {
        return cognome;
    }

    public void setCognome(String cognome) {
        this.cognome = cognome;
    }

    public String getDocumento() {
        return documento;
    }

    public void setDocumento(String documento) {
        this.documento = documento;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getIndirizzo() {
        return indirizzo;
    }

    public void setIndirizzo(String indirizzo) {
        this.indirizzo = indirizzo;
    }

    public String getNatoA() {
        return natoA;
    }

    public void setNatoA(String natoA) {
        this.natoA = natoA;
    }

    public String getNatoIl() {
        return natoIl;
    }

    public void setNatoIl(String natoIl) {
        this.natoIl = natoIl;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getPartitaIva() {
        return partitaIva;
    }

    public void setPartitaIva(String partitaIva) {
        this.partitaIva = partitaIva;
    }

    public String getProvincia() {
        return provincia;
    }

    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }

    public String getSedeLegale() {
        return sedeLegale;
    }

    public void setSedeLegale(String sedeLegale) {
        this.sedeLegale = sedeLegale;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public void setRagioneSociale(String ragioneSociale) {
        this.ragioneSociale = ragioneSociale;
    }
    
    public String getRagioneSociale() {
        return ragioneSociale;
    }

    @Override
    public String toString() {
        StringBuffer buffer = new StringBuffer();
        buffer.append(getClass().getName()+"@"+Integer.toHexString(hashCode()));
        buffer.append('[');
        buffer.append("citta=");
        buffer.append(getCitta());
        buffer.append(',');
        buffer.append("cognome=");
        buffer.append(getCognome());
        buffer.append(',');
        buffer.append("documento=");
        buffer.append(getDocumento());
        buffer.append(',');
        buffer.append("email=");
        buffer.append(getEmail());
        buffer.append(',');
        buffer.append("fax=");
        buffer.append(getFax());
        buffer.append(',');
        buffer.append("id=");
        buffer.append(getId());
        buffer.append(',');
        buffer.append("indirizzo=");
        buffer.append(getIndirizzo());
        buffer.append(',');
        buffer.append("natoA=");
        buffer.append(getNatoA());
        buffer.append(',');
        buffer.append("natoIl=");
        buffer.append(getNatoIl());
        buffer.append(',');
        buffer.append("nome=");
        buffer.append(getNome());
        buffer.append(',');
        buffer.append("partitaIva=");
        buffer.append(getPartitaIva());
        buffer.append(',');
        buffer.append("provincia=");
        buffer.append(getProvincia());
        buffer.append(',');
        buffer.append("sedeLegale=");
        buffer.append(getSedeLegale());
        buffer.append(',');
        buffer.append("telefono=");
        buffer.append(getTelefono());
        buffer.append(',');
        buffer.append("ragioneSociale=");
        buffer.append(getRagioneSociale());
        buffer.append(']');
        return buffer.toString();
    }
}
